package main
import (
"context"
"fmt"
"log"
"net/http"
"github.com/0xsequence/go-sequence/indexer"
)
const indexerToken = "AQAAAAAAAF_JvPALhBthL7VGn6jV0YDqaFY"
func main() {
ctx := context.TODO()
seqIndexerGW := indexer.NewIndexerGatewayClient(
"https://indexer.sequence.app",
http.DefaultClient,
)
authCtx, err := indexer.WithHTTPRequestHeaders(ctx, http.Header{
"X-Access-Key": []string{indexerToken},
})
if err != nil {
log.Fatal(err)
}
contractAddress := "0xdac17f958d2ee523a2206206994597c13d831ec7"
chainIDs := []uint64{1} // Ethereum Mainnet
_, balanceUpdates, err := seqIndexerGW.GetBalanceUpdates(
authCtx,
chainIDs,
nil, // No network names
contractAddress,
0, // No lastBlockNumber filter
nil, // No lastBlockHash filter
nil, // Default page
)
if err != nil {
log.Fatal(err)
}
for _, update := range balanceUpdates {
fmt.Printf("chainId: %d\n", update.ChainID)
for _, result := range update.Results {
if result.Balance.Int64() == 0 {
continue
}
fmt.Printf("\taccountAddress: %s, balance: %s\n",
result.AccountAddress, result.Balance)
}
}
}